package org.webball.base.abstracts;

import java.io.Serializable;

import org.webball.tools.MKVector;

/**
 * Abtract class represents physical objects in game such as player and ball.
 * It includes position, movement position and size. 
 * Also includes method which updates object state;
 * @author Michal Kostrzewa
 *
 */
public abstract class AbstractObject implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = -3381935909630861081L;
	
	protected MKVector position;
	protected MKVector movementTarget;
	protected float size;
	
	public MKVector getPosition() {
		return position;
	}
	public void setPosition(MKVector position) {
		this.position = position;
	}
	public MKVector getMovementTarget() {
		return movementTarget;
	}
	public void setMovementTarget(MKVector movementTarget) {
		this.movementTarget = movementTarget;
	}
	
	public float getSize() {
		return this.size;
	}
	/**
	 * update state of the object
	 */
	public abstract void update();
}
